使用OpenWRT已经有一阵子了,平时就是自己使用,折腾挂卡,脱机,蛮有意思。
这两天多了室友,接入设备也多了起来,于是乎就想查看一下每一个接入设备的即时速度。小义学艺不精,对OpenWRT了解甚少,没有发现好的软件,但是找到了一个利用Iptables工具来统计即时流量的脚本,小试了一下,还不错。在这里分享给大家。
代码如下:
#!/bin/sh
# @Create on 2013-12-01
echo "Collecting data..."
echo ""
cat / proc/net /arp | grep : | grep ^192 | grep -v 00:00 :00: 00:00 :00| awk '{print $1}'> mac-ip
iptables -N UPLOAD
iptables -N DOWNLOAD
while read line;do iptables -I FORWARD 1 -s $line - j UPLOAD;done < mac-ip
while read line;do iptables -I FORWARD 1 -d $line - j DOWNLOAD;done < mac-ip
sleep 1
echo "Download speed:"
echo ""
iptables -nvx -L FORWARD | grep DOWNLOAD | awk '{print $2/1024/1" KB/s ",$1/10" packets/s", $9}' | sort -n -r
echo ""
echo "Upload speed:"
echo ""
iptables -nvx -L FORWARD | grep UPLOAD | awk '{print $2/1024/1" KB/s ",$1/10" packets/s", $8}' | sort -n -r
while read line;do iptables -D FORWARD -s $line - j UPLOAD;done < mac-ip
while read line;do iptables -D FORWARD -d $line - j DOWNLOAD;done < mac-ip
iptables -X UPLOAD
iptables -X DOWNLOAD
|